home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / os-includeppc / powerpc / powerpc_protos.h < prev    next >
C/C++ Source or Header  |  1998-11-22  |  7KB  |  148 lines

  1. #ifndef WARPUP_GCCLIB_PROTOS_H
  2. #define WARPUP_GCCLIB_PROTOS_H
  3.  
  4. /*
  5. **  $VER: waprup_protos.h 2.0 (15.03.98)
  6. **  WarpOS Release 14.1
  7. **
  8. **  '(C) Copyright 1998 Haage & Partner Computer GmbH'
  9. **       All Rights Reserved
  10. */
  11.  
  12.  
  13. #ifndef UTILITY_TAGITEM_H
  14. #include <utility/tagitem.h>
  15. #endif
  16.  
  17. #ifndef DEVICES_TIMER_H
  18. #include <devices/timer.h>
  19. #endif
  20.  
  21. #ifndef POWERPC_PORTSPPC_H
  22. #include <powerpc/portsPPC.h>
  23. #endif
  24.  
  25. #ifndef POWERPC_TASKS_H
  26. #include <powerpc/tasksPPC.h>
  27. #endif
  28.  
  29. #ifndef POWERPC_SEMAPHORES_H
  30. #include <powerpc/semaphoresPPC.h>
  31. #endif
  32.  
  33. #ifdef __PPC__
  34.  
  35. extern struct Library *PowerPCBase;
  36.  
  37. #include <powerpc/warpup_macros.h>
  38.  
  39.         /* *** call 68K */
  40. #define Run68k(v1)         PPCLP1    (PowerPCBase,-300,ULONG,    struct PPCArgs *,4,v1)
  41. #define Waitfor68k(v1)         PPCLP1    (PowerPCBase,-306,ULONG,    struct PPCArgs *,4,v1)
  42.  
  43.         /* *** debugging */
  44. #define SPrintF(v1,v2)         PPCLP2NR(PowerPCBase,-312,        STRPTR,4,v1,APTR,5,v2)
  45.  
  46.         /* *** memory */
  47. #define AllocVecPPC(v1,v2,v3)     PPCLP3    (PowerPCBase,-324,APTR,        ULONG,4,v1,ULONG,5,v2,ULONG,6,v3)
  48. #define FreeVecPPC(v1)        PPCLP1    (PowerPCBase,-330,LONG,        APTR,4,v1)
  49.  
  50.         /* *** time measurement */
  51. #define GetSysTimePPC(v1)    PPCLP1NR(PowerPCBase,-684,        struct timeval *,4,v1)
  52. #define AddTimePPC(v1,v2)    PPCLP2NR(PowerPCBase,-690,        struct timeval *,4,v1,struct timeval *,5,v2)
  53. #define SubTimePPC(v1,v2)    PPCLP2NR(PowerPCBase,-696,        struct timeval *,4,v1,struct timeval *,5,v2)
  54. #define CmpTimePPC(v1,v2)    PPCLP2    (PowerPCBase,-702,LONG,        struct timeval *,4,v1,struct timeval *,5,v2)
  55.  
  56.         /* *** more debugging */
  57. #define SnoopTask(v1)        PPCLP1    (PowerPCBase,-714,ULONG,    struct TagItem *,4,v1)
  58. #define EndSnoopTask(v1)    PPCLP1NR(PowerPCBase,-720,        ULONG,4,v1)
  59.  
  60.         /* *** more memory */
  61. #define FreeAllMemPPC()        PPCLP0NR(PowerPCBase,-654        )
  62. #define CopyMemPPC(v1,v2,v3)    PPCLP3NR(PowerPCBase,-660,        APTR,4,v1,APTR,5,v2,ULONG,6,v3)
  63.  
  64.         /* *** lists */
  65. #define AddHeadPPC(v1,v2)    PPCLP2NR(PowerPCBase,-408,        struct List *,4,v1,struct Node *,5,v2)
  66. #define AddTailPPC(v1,v2)    PPCLP2NR(PowerPCBase,-414,        struct List *,4,v1,struct Node *,5,v2)
  67. #define EnqueuePPC(v1,v2)    PPCLP2NR(PowerPCBase,-438,        struct List *,4,v1,struct Node *,5,v2)
  68. #define FindNamePPC(v1,v2)    PPCLP2    (PowerPCBase,-444,struct Node *,struct List *,4,v1,STRPTR,5,v2)
  69. #define    InsertPPC(v1,v2)    PPCLP2NR(PowerPCBase,-402,        struct Node *,4,v1,struct Node *,5,v2)
  70. #define RemHeadPPC(v1)        PPCLP1    (PowerPCBase,-426,struct Node *,struct List *,4,v1)
  71. #define RemovePPC(v1)        PPCLP1NR(PowerPCBase,-420,        struct Node *,4,v1)
  72. #define RemTailPPC(v1)        PPCLP1    (PowerPCBase,-432,struct Node *,struct List *,4,v1)
  73.  
  74.         /* *** semaphores */
  75. #define AddSemaphorePPC(v1)    PPCLP1NR(PowerPCBase,-366,        struct SignalSemaphorePPC *,4,v1)
  76. #define AttemptSemaphorePPC(v1)    PPCLP1    (PowerPCBase,-384,LONG,        struct SignalSemaphorePPC *,4,v1)
  77. #define FindSemaphorePPC(v1)    PPCLP1    (PowerPCBase,-396,struct SignalSemaphorePPC *,STRPTR,4,v1)
  78. #define FreeSemaphorePPC(v1)    PPCLP1NR(PowerPCBase,-360,        struct SignalSemaphorePPC *,4,v1)
  79. #define InitSemaphorePPC(v1)    PPCLP1    (PowerPCBase,-354,LONG,        struct SignalSemaphorePPC *,4,v1)
  80. #define ObtainSemaphorePPC(v1)    PPCLP1NR(PowerPCBase,-378,        struct SignalSemaphorePPC *,4,v1)
  81. #define    ReleaseSemaphorePPC(v1)    PPCLP1NR(PowerPCBase,-390,        struct SignalSemaphorePPC *,4,v1)
  82. #define RemSemaphorePPC(v1)    PPCLP1NR(PowerPCBase,-372,        struct SignalSemaphorePPC *,4,v1)
  83.  
  84.         /* *** signals */
  85. #define AllocSignalPPC(v1)    PPCLP1    (PowerPCBase,-468,LONG,        LONG,4,v1)
  86. #define FreeSignalPPC(v1)    PPCLP1NR(PowerPCBase,-474,        LONG,4,v1)
  87. #define SetSignalPPC(v1,v2)    PPCLP2    (PowerPCBase,-480,ULONG,    ULONG,4,v1,ULONG,5,v2)
  88. #define SignalPPC(v1,v2)    PPCLP2NR(PowerPCBase,-486,        struct TaskPPC *,4,v1,ULONG,5,v2)
  89. #define WaitPPC(v1)        PPCLP1    (PowerPCBase,-492,ULONG,    ULONG,4,v1)
  90. #define WaitTime(v1,v2)        PPCLP2    (PowerPCBase,-552,ULONG,    ULONG,4,v1,ULONG,5,v2)
  91.  
  92.         /* *** tasks */
  93. #define CreateTaskPPC(v1)    PPCLP1    (PowerPCBase,-336,struct TaskPPC *,struct TagItem *,4,v1)
  94. #define DeleteTaskPPC(v1)    PPCLP1NR(PowerPCBase,-342,        struct TaskPPC *,4,v1)
  95. #define FindTaskPPC(v1)        PPCLP1    (PowerPCBase,-348,struct TaskPPC *,STRPTR,4,v1)
  96. #define LockTaskList()        PPCLP0    (PowerPCBase,-564,struct TaskPtr *)
  97. #define SetTaskPriPPC(v1,v2)    PPCLP2    (PowerPCBase,-498,LONG,        struct TaskPPC *,4,v1,LONG,5,v2)
  98. #define UnLockTaskList()    PPCLP0NR(PowerPCBase,-570        )
  99. #define FindTaskByID(v1)    PPCLP1    (PowerPCBase,-738,struct TaskPPC *,LONG,4,v1)
  100. #define SetNiceValue(v1,v2)    PPCLP2    (PowerPCBase,-744,LONG,        struct TaskPPC *,4,v1,LONG,5,v2)
  101.  
  102.         /* *** ports */
  103. #define AddPortPPC(v1)        PPCLP1NR(PowerPCBase,-612,        struct MsgPortPPC *,4,v1)
  104. #define CreateMsgPortPPC()    PPCLP0    (PowerPCBase,-600,struct MsgPortPPC *)
  105. #define DeleteMsgPortPPC(v1)    PPCLP1NR(PowerPCBase,-606,        struct MsgPortPPC *,4,v1)
  106. #define FindPortPPC(v1)        PPCLP1    (PowerPCBase,-624,struct MsgPortPPC *,STRPTR,4,v1)
  107. #define GetMsgPPC(v1)        PPCLP1    (PowerPCBase,-642,struct Message *,struct MsgPortPPC *,4,v1)
  108. #define PutMsgPPC(v1,v2)    PPCLP2NR(PowerPCBase,-636,        struct MsgPortPPC *,4,v1,struct Message *,5,v2)
  109. #define WaitPortPPC(v1)        PPCLP1    (PowerPCBase,-630,struct Message *,struct MsgPortPPC *,4,v1)
  110. #define RemPortPPC(v1)        PPCLP1NR(PowerPCBase,-618,        struct MsgPortPPC *,4,v1)
  111. #define ReplyMsgPPC(v1)        PPCLP1NR(PowerPCBase,-648,        struct Message *,4,v1)
  112. #define AllocXMsgPPC(v1,v2)    PPCLP2    (PowerPCBase,-666,struct Message *,ULONG,4,v1,struct MsgPortPPC *,5,v2)
  113. #define FreeXMsgPPC(v1)        PPCLP1NR(PowerPCBase,-672,        struct Message *,4,v1)
  114. #define PutXMsgPPC(v1,v2)    PPCLP2NR(PowerPCBase,-678,        struct MsgPort *,4,v,struct Message *,5,v2)
  115. #define SetReplyPortPPC(v1,v2)    PPCLP2    (PowerPCBase,-708,struct MsgPortPPC *,struct Message *,4,v1,struct MsgPortPPC *,5,v2)
  116.  
  117.         /* *** tag items */
  118. #define FindTagItemPPC(v1,v2)    PPCLP2    (PowerPCBase,-450,struct TagItem *,ULONG,4,v1,struct TagItem *,5,v2)
  119. #define GetTagDataPPC(v1,v2,v3)    PPCLP3    (PowerPCBase,-456,ULONG,    ULONG,4,v1,ULONG,5,v2,struct TagItem *,6,v3)
  120. #define NextTagItemPPC(v1)    PPCLP1    (PowerPCBase,-462,struct TagItem *,struct TagItem **,4,v1)
  121.  
  122.  
  123.         /* *** hardware */
  124. #define ChangeMMU(v1)        PPCLP1NR(PowerPCBase,-588,        ULONG,4,v1)
  125. #define    GetInfo(v1)        PPCLP1NR(PowerPCBase,-594,        struct TagItem *,4,v1)
  126. #define SetCache(v1,v2,v3)    PPCLP3NR(PowerPCBase,-510,        ULONG,4,v1,APTR,5,v2,ULONG,6,v3)
  127. #define SetHardware(v1,v2)    PPCLP2    (PowerPCBase,-540,ULONG,    ULONG,4,v1,APTR,5,v2)
  128. #define GetHALInfo(v1)        PPCLP1NR(PowerPCBase,-726,        struct TagItem *,4,v1)
  129. #define    SetScheduling(v1)    PPCLP1NR(PowerPCBase,-732,        struct TagItem *,4,v1)
  130.  
  131.         /* *** exceptions */
  132. #define ModifyFPExc(v1)        PPCLP1NR(PowerPCBase,-546,        ULONG,4,v1)
  133. #define RemExcHandler(v1)    PPCLP1NR(PowerPCBase,-522,        APTR,4,v1)
  134. #define    SetExcHandler(v1)    PPCLP1    (PowerPCBase,-516,APTR,        struct TagItem *,4,v1)
  135. #define    SetExcMMU()        PPCLP0NR(PowerPCBase,-576        )
  136. #define    ClearExcMMU()        PPCLP0NR(PowerPCBase,-582        )
  137.  
  138.         /* *** supervisor */
  139. #define Super()            PPCLP0    (PowerPCBase,-528,ULONG        )
  140. #define User(v1)        PPCLP1NR(PowerPCBase,-534,        ULONG,4,v1)
  141.  
  142.         /* *** 68K connection */
  143. #define Signal68K(v1,v2)    PPCLP2NR(PowerPCBase,-504,        struct Task *,4,v1,ULONG,5,v2)
  144.  
  145. #endif /* __PPC__ */
  146.  
  147. #endif /* POWERPC_GCCLIB_PROTOS_H */
  148.